This invention relates generally to the field of document replication in a distributed computing system and, in particular, to a method for replicating a document at the field level.
In some existing distributed computing systems such as LOTUS.RTM. NOTES software, available from Lotus Development Corporation of Cambridge, Mass., data is copied and stored in multiple documents which are stored separately on multiple computer systems connected or connectable over a network. A document may be one record which is part of a database containing numerous such records, or may be an individual file storing text or other data. Each document contains a number of fields containing different types of information. For example, one type of document is a memorandum that includes the fields "to", "from", "subject", "body", "approvals", etc. Other types of documents include other field types for text, numbers, or other conventional database subject matter.
One copy of the document in such a system may be considered the central or master copy stored on one server in a network, and the others are replicas stored on other servers with which users can work. Users then replicate changes they make in their document replicas to the master document either periodically or upon request, and the master is used to pass along these changes to the other working replicas of the document on a periodic basis, such as at the end of a business day.
In general, in these systems, when a document is replicated, the entire document is copied. However, typically only small portions of a document are changed between replications, and replication of the entire document thus wastes time and resources. One possible solution to this problem, not believed to have been implemented, is to time stamp each field in the document and compare the time stamps of the fields in the document to be replicated to the time stamps of corresponding fields in the unchanged document to determine which fields have been revised since the previous document replication. However, a full time stamp needed to implement this solution requires eight bytes per field in order to represent, among other possible information, the year, month, day, and time of day of the latest revision. The need for eight bytes per field, with numerous fields per document and numerous documents per computer system, represents a substantial commitment of computing resources such as additional storage capacity and replication time.
Thus, there remains a need for a method by which documents can be replicated at the field level without requiring the commitment of substantial resources to determine which fields in a document have been revised.